屏幕显示
LK 部分
alps/vendor/mediatek/proprietary/bootable/bootloader/lk/project/br6737m_65_s_m0.mk
1 | MTK_LCM_PHYSICAL_ROTATION = 270 |
kernel 部分
kernel-3.18/arch/arm64/configs/br6737m_65_s_m0_debug_defconfig
1 | CONFIG_MTK_LCM_PHYSICAL_ROTATION="270" |
MTK 定制的应用层
device/bror/br6737m_65_s_m0/ProjectConfig.mk
1 | MTK_LCM_PHYSICAL_ROTATION = 270 |
Android 官方的应用层
system.prop 中的 ro.sf.hwrotation 属性。
包括开机动画(bootanimation.zip)都是由这个控制的。
1 | --- a/bror/br6737m_65_s_m0/system.prop |
TP坐标
通过交换 x y 坐标实现旋转
kernel-3.18/drivers/input/touchscreen/mediatek/
1 | #define GTP_CHANGE_X2Y 1 //swap x y |
kernel-3.18/drivers/input/touchscreen/mediatek/
1 | input_x = TPD_WARP_X(abs_x_max, input_x); // input_x = abs_x_max - 1 - input_x |
导航栏丢失
旋转 90/270 度之后系统导航栏丢失,并在右边产生有黑边。
是 MTK 的 Bug。解决办法参见另外一片博文。